#include "loginmodewidget.h"


#include "idinputwidget.h"
#include "regloginselectwidget.h"
#include "registerwidget.h"

LoginModeWidget::LoginModeWidget()
{

}

int LoginModeWidget::exec()
{
    int state;
    bool loginFlag = false;

    while(1)
    {
        Bmp b1("./res/loginmode.bmp");
        b1.show();

        Touch touch;
        int x,y;
        touch.wait(x,y);

        if(x>0 && x<120 && y>0 && y<120) //就诊卡识别
            state = LoginWidget_Mode_Auto_RFID;
        else if(x>0 && x<120 && y>0 && y<120) //身份证识别
            state = LoginWidget_Mode_Auto_Identify;
        else if(x>0 && x<120 && y>0 && y<120) //患者编号（二维码识别）
            state = LoginWidget_Mode_Auto_QrCode;
        else if(x>50 && x<250 && y>280 && y<400) //手动输入身份证号
            state = LoginWidget_Mode_Input_Identify;
        else if(x>0 && x<120 && y>0 && y<120) //电子健康卡
            state = LoginWidget_Mode_Auto_Health_Carid;
        else if(x>0 && x<120 && y>0 && y<120) //医保凭证
            state = LoginWidget_Mode_Auto_Medical_Carid;

        switch (state) {
            case LoginWidget_Mode_Input_Identify://手动输入身份证号
                    {
                        //选择注册或者登陆
                        RegLoginSelectWidget widget;
                        int mode = widget.exec();

                        std::cout<<"mode:"<<mode<<std::endl;

                        if(mode == RegLoginSelectWidget::Mode_Login)
                        {
                            IdInputWidget w1;
                            loginFlag = w1.exec();
                        }
                        else if(mode == RegLoginSelectWidget::Mode_Register)
                        {
                            Registerwidget w1;
                            w1.exec();
                        }
                    }

                    break;
        }

        if(loginFlag)
            break;
    }

    return loginFlag;
}
